The current approach towards delivering web applications to handheld devices relies predominantly on the server. The database, business logic and presentation layer reside on the respective servers which act to serve content to mobile devices. This approach to delivering web content is suitable for web browsers running on personal computers.
In the past decade, there has been a proliferation in the variety of mobile devices. Variations in these mobile devices are usually in screen size, display resolution, computing power and presence of natural input mechanisms like touch interfaces. The availability of mobile devices with varied configurations requires the web server to customize content in order to be able to be rendered on disparate browsers present in mobile devices. Hence, the web server is required to maintain a database of device capabilities and configurations. The presence of such a database on the web server allows content to be customized for a particular device requesting content from a web server. One of the disadvantages in maintaining a database of device capabilities and configurations is that the database has to be updated with the entry of each new mobile device into the market. Furthermore, multiple vendors release devices with a variety of capabilities and configurations.
The disadvantage with the above approach is the dependence on a server for all functional tasks, and dependence on a browser present in operating system or third party browsers installed in mobile devices for rendering content. Further, present web applications delivered using a server-centric approach do not take advantage of the underlying mobile operating system capabilities such as by leveraging the device configuration set by the user or network. Hence, there is a need for a new approach to deliver web applications to mobile devices which overcome these disadvantages.